home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / share / nmap / nmap.dtd < prev    next >
Text File  |  2006-06-30  |  8KB  |  245 lines

  1. <!--
  2.     nmap.dtd
  3.     This is the DTD for nmap's XML output (-oX) format.
  4.     $Id: nmap.dtd 3437 2006-06-10 21:23:27Z fyodor $
  5.  
  6.     Originally written by:
  7.     William McVey <wam@cisco.com> <wam+nmap@wamber.net>
  8.  
  9.     Now maintained by Fyodor <fyodor@insecure.org> as part of Nmap.     
  10.  
  11.     To validate using this file, simply add a DOCTYPE line similar to:
  12.     <!DOCTYPE nmaprun SYSTEM "nmap.dtd">
  13.     to the nmap output immediately below the prologue (the first line).  This
  14.     should allow you to run a validating parser against the output (so long
  15.     as the dtd is in your parser's dtd search path).
  16.  
  17.     Bugs:
  18.     Most of the elements are "locked" into the specific order that nmap
  19.     generates, when there really is no need for a specific ordering.
  20.     This is primarily because I don't know the xml DTD construct to
  21.     specify "one each of this list of elements, in any order".  If there
  22.     is a construct similar to SGML's '&' operator, please let me know.
  23.  
  24.     Portions Copyright (c) 2001-2005 Insecure.Com LLC
  25.     Portions Copyright (c) 2001 by Cisco systems, Inc.
  26.  
  27.     Permission to use, copy, modify, and distribute modified and
  28.     unmodified copies of this software for any purpose and without fee is
  29.     hereby granted, provided that (a) this copyright and permission notice
  30.     appear on all copies of the software and supporting documentation, (b)
  31.     the name of Cisco Systems, Inc. not be used in advertising or
  32.     publicity pertaining to distribution of the program without specific
  33.     prior permission, and (c) notice be given in supporting documentation
  34.     that use, modification, copying and distribution is by permission of
  35.     Cisco Systems, Inc.
  36.  
  37.     Cisco Systems, Inc. makes no representations about the suitability
  38.     of this software for any purpose.  THIS SOFTWARE IS PROVIDED ``AS
  39.     IS'' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
  40.     WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  41.     FITNESS FOR A PARTICULAR PURPOSE.
  42. -->
  43.  
  44. <!-- parameter entities to specify common "types" used elsewhere in the DTD -->
  45. <!ENTITY % attr_numeric "CDATA" >
  46. <!ENTITY % attr_ipaddr "CDATA" >
  47. <!ENTITY % attr_numeric "CDATA" >
  48. <!ENTITY % attr_type "(ipv4 | ipv6 | mac)" >
  49.  
  50. <!ENTITY % host_states "(up|down|unknown|skipped)" >
  51.  
  52. <!-- see: nmap.c:statenum2str for list of port states -->
  53. <!-- Maybe they should be enumerated as in scan_types below , but I -->
  54. <!-- don't know how to escape states like open|filtered -->
  55. <!ENTITY % port_states "CDATA" >
  56.  
  57. <!ENTITY % hostname_types "(PTR)" >
  58.  
  59. <!-- see output.c:output_xml_scaninfo_records for scan types -->
  60. <!ENTITY % scan_types "(syn|ack|bounce|connect|null|xmas|window|maimon|fin|udp|ipproto)" >
  61.  
  62. <!-- <!ENTITY % ip_versions "(ipv4)" > -->
  63.  
  64. <!ENTITY % port_protocols "(ip|tcp|udp)" >
  65.  
  66. <!-- I don't know exactly what these are, but the values were enumerated via:
  67.      grep "conf=" *
  68. --> 
  69. <!ENTITY % service_confs  "( 0 | 3 | 5 | 10)" >
  70.  
  71. <!-- This element was started in nmap.c:nmap_main().
  72.      It represents to the topmost element of the output document.
  73. -->
  74. <!ELEMENT nmaprun      (scaninfo*, verbose, debugging, host*, runstats) >
  75. <!ATTLIST nmaprun
  76.             scanner        (nmap)        #REQUIRED
  77.             args        CDATA        #IMPLIED
  78.             start        %attr_numeric;    #IMPLIED
  79.             startstr    CDATA            #IMPLIED
  80.             version        CDATA        #REQUIRED
  81.             xmloutputversion (1.01)        #REQUIRED
  82. >
  83.  
  84. <!-- this element is written in output.c:doscaninfo() -->
  85. <!ELEMENT scaninfo    EMPTY >
  86. <!ATTLIST scaninfo
  87.             type        %scan_types;    #REQUIRED
  88.             protocol    %port_protocols; #REQUIRED
  89.             numservices    %attr_numeric;    #REQUIRED
  90.             services    CDATA        #REQUIRED
  91. >
  92.  
  93. <!-- these elements are written in nmap.c:nmap_main() -->
  94. <!ELEMENT verbose    EMPTY >
  95. <!ATTLIST verbose    level        %attr_numeric;    #IMPLIED >
  96.  
  97.  
  98. <!ELEMENT debugging     EMPTY >
  99. <!ATTLIST debugging    level        %attr_numeric;    #IMPLIED >
  100.  
  101. <!-- 
  102.      this element is started in nmap.c:nmap_main() and filled by
  103.      output.c:write_host_status(), output.c:printportoutput(), and
  104.      output.c:printosscanoutput()
  105. -->
  106. <!ELEMENT host        ( status, address , (address | hostnames |
  107.                           smurf | ports | os | uptime | 
  108.                           tcpsequence | ipidsequence | tcptssequence )* ) >
  109.  
  110.  
  111. <!-- these elements are written by output.c:write_xml_initial_hostinfo() -->
  112. <!ELEMENT status    EMPTY >
  113. <!ATTLIST status    state        %host_states;    #REQUIRED >
  114.  
  115. <!ELEMENT address    EMPTY >
  116. <!ATTLIST address    
  117.             addr        %attr_ipaddr;    #REQUIRED
  118.             addrtype    %attr_type;    "ipv4"
  119.             vendor        CDATA        #IMPLIED
  120. >
  121.  
  122. <!ELEMENT hostnames    (hostname)* >
  123. <!ELEMENT hostname    EMPTY >
  124. <!ATTLIST hostname
  125.             name        CDATA        #IMPLIED
  126.             type        %hostname_types; #IMPLIED
  127. >
  128.  
  129.  
  130. <!-- this element is written by output.c:write_host_status() -->
  131. <!ELEMENT smurf        EMPTY >
  132. <!ATTLIST smurf        responses    %attr_numeric;    #REQUIRED >
  133.  
  134. <!-- these elements are written by output.c:printportoutput() -->
  135.  
  136. <!ELEMENT ports        (extraports* , port*) >
  137.  
  138. <!ELEMENT extraports    EMPTY >
  139. <!ATTLIST extraports
  140.             state        %port_states;    #REQUIRED
  141.             count        %attr_numeric;  #REQUIRED    
  142. >
  143.  
  144. <!ELEMENT port        (state , owner? , service? ) >
  145. <!ATTLIST port
  146.             protocol    %port_protocols;    #REQUIRED
  147.             portid        %attr_numeric;    #REQUIRED
  148. >
  149.  
  150. <!ELEMENT state        EMPTY >
  151. <!ATTLIST state        state        %port_states;    #REQUIRED >
  152.  
  153. <!ELEMENT owner        EMPTY >
  154. <!ATTLIST owner        name        CDATA        #REQUIRED >
  155.  
  156. <!ELEMENT service    EMPTY >
  157. <!ATTLIST service
  158.             name        CDATA        #REQUIRED
  159.             conf        %service_confs;    #REQUIRED
  160.                         method          (table|detection|probed) #REQUIRED
  161.                         version         CDATA           #IMPLIED
  162.                         product         CDATA           #IMPLIED
  163.                         extrainfo       CDATA           #IMPLIED
  164.             tunnel        (ssl)        #IMPLIED
  165.             proto        (rpc)        #IMPLIED
  166.             rpcnum        %attr_numeric;    #IMPLIED
  167.             lowver        %attr_numeric;    #IMPLIED
  168.             highver        %attr_numeric;    #IMPLIED
  169.                         hostname        CDATA           #IMPLIED
  170.                         ostype          CDATA           #IMPLIED
  171.                         devicetype      CDATA           #IMPLIED
  172.                         servicefp       CDATA           #IMPLIED
  173. >
  174.  
  175. <!ELEMENT os        ( portused* , osclass*, osmatch*, osfingerprint* ) >
  176.  
  177. <!ELEMENT portused    EMPTY >
  178. <!ATTLIST portused
  179.             state         %port_states;    #REQUIRED
  180.             proto         %port_protocols; #REQUIRED
  181.             portid         %attr_numeric;    #REQUIRED
  182. >
  183. <!ELEMENT osclass      EMPTY >
  184. <!ATTLIST osclass
  185.                        vendor          CDATA           #REQUIRED
  186.                        osgen           CDATA           #IMPLIED
  187.                        type            CDATA           #IMPLIED
  188.                        accuracy        CDATA           #REQUIRED
  189.                        osfamily        CDATA           #REQUIRED
  190. >
  191.  
  192.  
  193. <!ELEMENT osmatch    EMPTY >
  194. <!ATTLIST osmatch
  195.             name        CDATA        #REQUIRED
  196.             accuracy    %attr_numeric;    #REQUIRED
  197.             line        %attr_numeric;    #REQUIRED
  198. >
  199.  
  200. <!ELEMENT osfingerprint    EMPTY >
  201. <!ATTLIST osfingerprint
  202.             fingerprint    CDATA        #REQUIRED
  203. >
  204.  
  205. <!ELEMENT uptime    EMPTY >
  206. <!ATTLIST uptime
  207.             seconds        %attr_numeric;    #REQUIRED
  208.             lastboot    CDATA        #IMPLIED
  209. >
  210.  
  211. <!ELEMENT tcpsequence    EMPTY >
  212. <!ATTLIST tcpsequence
  213.             index        %attr_numeric;    #REQUIRED
  214.             class        CDATA        #REQUIRED
  215.             difficulty    CDATA        #REQUIRED
  216.             values        CDATA        #REQUIRED
  217. >
  218.  
  219. <!ELEMENT ipidsequence    EMPTY >
  220. <!ATTLIST ipidsequence
  221.             class        CDATA        #REQUIRED
  222.             values        CDATA        #REQUIRED
  223. >
  224.  
  225. <!ELEMENT tcptssequence    EMPTY >
  226. <!ATTLIST tcptssequence
  227.             class        CDATA        #REQUIRED
  228.             values        CDATA        #IMPLIED
  229. >
  230.  
  231. <!-- these elements are generated in output.c:printfinaloutput() -->
  232. <!ELEMENT runstats    (finished, hosts) >
  233.  
  234. <!ELEMENT finished    EMPTY >
  235. <!ATTLIST finished    time        %attr_numeric;    #REQUIRED 
  236.                         timestr        CDATA            #IMPLIED
  237. >
  238.  
  239. <!ELEMENT hosts        EMPTY >
  240. <!ATTLIST hosts
  241.             up        %attr_numeric;    "0"
  242.             down        %attr_numeric;    "0"
  243.             total        %attr_numeric;    #REQUIRED
  244. >
  245.